const Koa = require('koa');
const app = new Koa();
const aiRoutes = require('./routes/ai');
const bodyParser = require('koa-bodyparser');
require('dotenv').config();
// 引入cluster和os模块
// const cluster = require('cluster');
// const numCPUs = require('os').cpus().length;

app.use(bodyParser()).use(aiRoutes.routes(), aiRoutes.allowedMethods());

// 使用cluster模块实现多线程
// if (cluster.isPrimary) {
//   console.log(`主进程 ${process.pid} 正在运行`);

//   // 根据CPU核心数创建工作进程
//   for (let i = 0; i < numCPUs; i++) {
//     cluster.fork();
//   }

//   // 监听工作进程退出事件，自动重启
//   cluster.on('exit', (worker, code, signal) => {
//     console.log(`工作进程 ${worker.process.pid} 已退出`);
//     cluster.fork(); // 重启工作进程
//   });
// } else {

// }
// 在工作进程中连接数据库
require('./utils/db');
// 工作进程启动服务器
app.listen(3000, () => {
  console.log(`工作进程 ${process.pid} 已启动，监听端口 3000`);
});
// app.listen(3000, () => {
//   console.log(`3000`);
// });